package modelo;

import modelo.ModeloJuego.PosicionableTipo;

public class Rompehielos extends Nave {
	
	private static final int largo = 3; 
	
	public Rompehielos(Versor unaDireccion, Casillero unCasillero) {
		super(unaDireccion, unCasillero);

	}

	private void daniarParte(Casillero casillero) {
		int parteDeLaNave = this.getCasilleroInicial().distancia(casillero);				
		
		if (this.getEstado(parteDeLaNave) == SANA) {
			this.setEstado(parteDeLaNave, DANIADA);
		} else {
			if (this.getEstado(parteDeLaNave) == DANIADA) {
				this.setEstado(parteDeLaNave, DESTRUIDA);
			}
		}
	}
	
	
	public void recibirDisparo(DisparoDirecto disparo, Casillero casillero) {		
				
		this.daniarParte(casillero);		
	}
	
	
	public void recibirDisparo(MinaConRetardo mina, Casillero casillero) {		
		
		this.daniarParte(casillero);		
	}
	
	
	public void recibirDisparo(MinaContacto mina, Casillero casillero) {
		this.daniarParte(casillero);
	
	}
	
	
	public int getLargo() {
		return largo;
	}
	

	public PosicionableTipo devolverTipo() {
		return PosicionableTipo.ROMPEHIELOS;
	}
}

